package com.zhuoyue.system.mapper;

import java.util.List;

import com.zhuoyue.common.annotation.DataSource;

import com.zhuoyue.system.domain.TblMessage;
import com.zhuoyue.system.domain.po.TblMessagePo;
import com.zhuoyue.system.domain.vo.TblMessageVo;
import org.apache.ibatis.annotations.Param;

import static com.zhuoyue.common.enums.DataSourceType.*;

/**
 * 消息Mapper接口
 *
 * @author hewenze
 * @date 2020-08-13
 */
@DataSource(SLAVE2)
public interface TblMessageMapper {


    /**
     * 查询消息
     *
     * @return 消息数量
     */
    public Integer selectTblMessageCount(TblMessagePo tblMessagePo);


    /**
     * 查询消息列表
     *
     * @param tblMessagePo 消息
     * @return 消息集合
     */
    public List<TblMessageVo> selectTblMessageList(TblMessagePo tblMessagePo);


    /**
     * 推送消息处理
     */

    int createTable(@Param("tblName") String tblName);

    List<TblMessage> selectByTime(@Param("orgCode") String orgCode, @Param("account") String account, @Param("tableName") List<String> tableName, @Param("start") String start, @Param("end") String end, @Param("pageNum1") Integer pageNum1, @Param("pageSize1") Integer pageSize1);

    List<String> selectTableName();

    Integer selectByTimeCount(@Param("tableName") List<String> tableName, @Param("orgCode") String orgCode, @Param("account") String account, @Param("start") String start, @Param("end") String end);

    String getTime();

    /**
     * 新增用户系统推送消息
     *
     * @param messageList
     * @return
     */
    Integer insertSystemPushMessage(List<TblMessage> messageList);
}
